<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of conteudo_controller
 *
 * @author Lucas Pinheiro
 */
class Conteudo extends ADM_Controller {

    //put your code here

    public function __construct() {
        parent::__construct();
        $this->load->config('conteudo/parametros');
        $this->load->language('conteudo/conteudo');
        $this->load->model('conteudo/conteudo_model');
        $this->load->model('conteudo/conteudo_categoria_model');
        $this->load->model('conteudo/conteudo_imagens_galeria_model');
        $this->checar_metodo(uri_string());
    }

    public function cadastrar() {

        $v_dados = array();
        $v_dados['title_acao'] = $this->lang->line('lang_cadastrar');
        $v_dados['id'] = '';
        $v_dados['conteudo_pai_id'] = '';
        $v_dados['users_id'] = '';
        $v_dados['conteudo_categoria_id'] = form_dropdown('conteudo_categoria_id', $this->conteudo_categoria_model->consultar_combo(), '', ' required="required"');
        $v_dados['imagens_id'] = '';
        $v_dados['imagens_galeria_id'] = form_dropdown('imagens_galeria_id', $this->conteudo_imagens_galeria_model->consultar_combo(), '', ' required="required"');
        $v_dados['titulo'] = '';
        $v_dados['status'] = form_dropdown('status', $this->_status(), '', ' required="required"');
        $v_dados['texto'] = '';
        $v_dados['revisoes'] = array();
        $v_dados['action_conteudo_gravar'] = $this->permissions->get_url('conteudo_conteudo_gravar');
        $v_dados = $this->lang->multi_line($v_dados);
        $this->parser->parse_cms('conteudo_form_view', $v_dados);
    }

    public function alterar($_id) {
        $_b_consultar = $this->conteudo_model->get($_id);
        $v_dados = array();
        $v_dados['title_acao'] = $this->lang->line('lang_alterar');
        $v_dados['id'] = $_b_consultar->id;
        $v_dados['conteudo_pai_id'] = $_b_consultar->conteudo_pai_id;
        $v_dados['users_id'] = $_b_consultar->users_id;
        $v_dados['conteudo_categoria_id'] = form_dropdown('conteudo_categoria_id', $this->conteudo_categoria_model->consultar_combo(), $_b_consultar->conteudo_categoria_id, ' required="required"');
        $v_dados['imagens_id'] = $_b_consultar->imagens_id;
        $v_dados['imagens_galeria_id'] = form_dropdown('imagens_galeria_id', $this->conteudo_imagens_galeria_model->consultar_combo(), $_b_consultar->imagens_galeria_id, ' required="required"');
        $v_dados['titulo'] = $_b_consultar->titulo;
        $v_dados['status'] = form_dropdown('status', $this->_status(), $_b_consultar->status, ' required="required"');
        $v_dados['texto'] = $_b_consultar->texto;
        $v_dados['revisoes'] = $this->_revisoes($_b_consultar->id);
        $v_dados['action_conteudo_gravar'] = $this->permissions->get_url('conteudo_conteudo_gravar');
        $v_dados = $this->lang->multi_line($v_dados);
        $this->parser->parse_cms('conteudo_form_view', $v_dados);
    }

    public function gravar() {
        $v_dados = array();
        $_dados = array();
        $this->load->library('form_validation');
        $this->form_validation->set_rules('conteudo_categoria_id', 'Categoria', 'trim|required');
        $this->form_validation->set_rules('titulo', 'Titulo', 'trim|required');
        $this->form_validation->set_rules('status', 'Status', 'trim|required');
        $this->form_validation->set_rules('texto', 'Texto', 'trim|required');

        if ($this->form_validation->run($this) === FALSE) {
            $v_dados['cod'] = 111;
            $v_dados['msg'] = $this->lang->line('lang_msg_submit_warning');
            $v_dados['header'] = $this->lang->line('lang_header_submit_warning');
            $v_dados['campos'] = $this->form_validation->erros_campos_json();
        } else {
            $img = NULL;
            if (is_array($this->input->post('images'))) {
                if (count($this->input->post('images')) > 0) {
                    foreach ($this->input->post('images') as $key => $value) {
                        $img = $key;
                    }
                }
            }
            $_dados['conteudo_pai_id'] = $this->input->post('conteudo_pai_id');
            $_dados['users_id'] = $this->usuario->user_id;
            $_dados['imagens_id'] = $img;
            $_dados['imagens_galeria_id'] = $this->input->post('imagens_galeria_id');
            $_dados['titulo'] = $this->input->post('titulo');
            $_dados['status'] = $this->input->post('status');
            $_dados['texto'] = $this->input->post('texto');
            $_dados['conteudo_categoria_id'] = $this->input->post('conteudo_categoria_id');

            if ($this->input->post('id') == '') {
                $v_dados['id'] = $this->conteudo_model->cadastrar($_dados);
            } else {
                $_dados['conteudo_pai_id'] = $this->input->post('id');
                $this->conteudo_model->cadastrar($_dados);
                $_dados['conteudo_pai_id'] = null;
                $this->conteudo_model->alterar($this->input->post('id'), $_dados);
                $v_dados['id'] = $this->input->post('id');
            }

            $v_dados['cod'] = 999;
            $v_dados['msg'] = $this->lang->line('lang_msg_submit_success');
            $v_dados['header'] = $this->lang->line('lang_header_submit_success');
        }
        echo json_encode($v_dados);
    }

    public function consultar() {
        $v_dados = array();
        $v_dados['conteudos'] = array();
        $_b_consultar = $this->conteudo_model->consultar_conteudo_pai();

        if ($_b_consultar != null) {
            foreach ($_b_consultar as $k => $v) {
                $v_dados['conteudos'][$k]['id'] = $v->id;
                $v_dados['conteudos'][$k]['conteudo_pai_id'] = $v->conteudo_pai_id;
                $v_dados['conteudos'][$k]['users_id'] = $v->users_id;
                $v_dados['conteudos'][$k]['conteudo_categoria_id'] = $v->conteudo_categoria_id;
                $v_dados['conteudos'][$k]['imagens_id'] = $v->imagens_id;
                $v_dados['conteudos'][$k]['imagens_galeria_id'] = $v->imagens_galeria_id;
                $v_dados['conteudos'][$k]['titulo'] = $v->titulo;
                $v_dados['conteudos'][$k]['status'] = $this->lang->line('lang_status_' . $v->status);
                $v_dados['conteudos'][$k]['texto'] = $v->texto;
                $v_dados['conteudos'][$k]['acao'] = anchor(base_cms() . $this->permissions->get_url('conteudo_conteudo_alterar') . '/' . $v->id, $this->lang->line('lang_alterar'), 'class="btn small"');
                $v_dados['conteudos'][$k]['acao'] .= anchor(base_cms() . $this->permissions->get_url('conteudo_conteudo_detalhes') . '/' . $v->id, $this->lang->line('lang_detalhes'), 'class="btn small"');
            }
        }
        $v_dados['link_cadastrar_conteudo'] = $this->permissions->get_url('conteudo_conteudo_cadastrar');
        $v_dados = $this->lang->multi_line($v_dados);
        $this->parser->parse_cms('conteudo_lst_view', $v_dados);
    }

    private function _status() {
        return array(
            '' => $this->lang->line('lang_status_'),
            0 => $this->lang->line('lang_status_0'),
            1 => $this->lang->line('lang_status_1')
        );
    }

    private function _revisoes($conteudo_categoria_id = 0) {
        $v_dados = array();
        if ($conteudo_categoria_id !== 0 AND $conteudo_categoria_id !== NULL) {
            $_b_consultar = $this->conteudo_model->consultar_conteudo_pai($conteudo_categoria_id);

            if ($_b_consultar != null) {
                foreach ($_b_consultar as $k => $v) {
                    $v_dados[$k]['id'] = $v->id;
                    $v_dados[$k]['conteudo_pai_id'] = $v->conteudo_pai_id;
                    $v_dados[$k]['users_id'] = $v->users_id;
                    $v_dados[$k]['conteudo_categoria_id'] = $v->conteudo_categoria_id;
                    $v_dados[$k]['imagens_id'] = $v->imagens_id;
                    $v_dados[$k]['imagens_galeria_id'] = $v->imagens_galeria_id;
                    $v_dados[$k]['titulo'] = $v->titulo;
                    $v_dados[$k]['status'] = $this->lang->line('lang_status_' . $v->status);
                    $v_dados[$k]['texto'] = $v->texto;
                    $v_dados[$k]['acao'] = anchor(base_cms() . $this->permissions->get_url('conteudo_conteudo_alterar') . '/' . $v->id, $this->lang->line('lang_alterar'), 'class="btn small"');
                }
            }
        }
        return $v_dados;
    }

}